﻿#region Using namespaces...
using System.Collections.Generic;
using TaxonomyImportLibrary.Taxonomy.Interfaces;
using System.ComponentModel;
#endregion

namespace TaxonomyImportLibrary.Taxonomy.Views
{
	/// <summary>
	/// GroupView class
	/// </summary>
	public class GroupView : IGroupView
	{
		#region Properties
		/// <summary>
		/// Gets/Sets 
		/// </summary>
		[Category("Group Information")]
		[Browsable(true)]
		[DisplayName("Name")]
		[Description("Name of the term group")]
		public string Name{ get; set; }
		/// <summary>
		/// Gets/Sets 
		/// </summary>
		[Category("Group Information")]
		[Browsable(true)]
		[DisplayName("Group Description")]
		[Description("Description of the term group")]
		public string Description{ get; set; }
		/// <summary>
		/// Gets/Sets 
		/// </summary>
		[Category("Group Information")]
		[Browsable(true)]
		[DisplayName("Managers Group")]
		[Description("List of term group managers")]
		public List<IUserIdentityView> Managers { get; set; }
		/// <summary>
		/// Gets/Sets 
		/// </summary>
		[Category("Group Information")]
		[Browsable(true)]
		[DisplayName("Contributors Group")]
		[Description("List of term group contributors")]
		public List<IUserIdentityView> Contributors { get; set; }
		/// <summary>
		/// Gets/Sets 
		/// </summary>
		[Category("Group Information")]
		[Browsable(true)]
		[DisplayName("Child Terms")]
		[Description("List of term sets associated with the term group")]
		public List<ITermSetView> ChildTermSets{ get; set; }
		#endregion

		#region Constructors
		/// <summary>
		/// Default constructor
		/// </summary>
		public GroupView()
		{
			// Initialize
			Initialize();
		}
		#endregion

		#region Utility Methods
		/// <summary>
		/// Handles class initialization
		/// </summary>
		private void Initialize()
		{
			// Set properties
		}
		#endregion
	}
}
